<!DOCTYPE html>
<div></div>
<input type=checkbox disabled>
<input type=text disabled>
<script>
document.querySelector('div').innerHTML = '<input type=checkbox><input type=text>'
window.addEventListener('pageshow', () => {
  // This checkbox produces a FormControlState on leaving the document.
  // However, its state is never restored because it is added after 'pageshow'.
  // See crbug.com/1138598.
  let checkbox = document.createElement('input');
  checkbox.type = 'checkbox';
  checkbox.checked = false;
  document.body.appendChild(checkbox);

  parent.promiseResolver();
}, {once:true});

// This document produces FormControlStates like:
//    type        name value
// 1. "checkbox", "",  "on"
// 2. "text",     "",  "z"
// 3. "checkbox", "",  "off" (for the disabled one)
// 4. "text",     "",  "" (for the disabled one)
// 5. "checkbox", "",  "off" (for one added in the 'pageshow' handler)
</script>
